package com.vrp3d.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vrp3d.domain.dto.dist.DistForFrontDTO;
import com.vrp3d.domain.dto.showroom.*;
import com.vrp3d.domain.po.Showroom;

import java.util.List;

/**
 * 展厅
 *
 * @author vrp3d
 */
public interface ShowroomService extends AbsService {

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    Showroom selectByPrimaryKey(Integer id);

    /**
     * 获取展厅列表
     *
     * @param page
     * @param search
     * @return
     */
    Page<ShowroomListDTO> getShowroomList(Page<ShowroomListDTO> page, ShowroomSearchDTO search);

    /**
     * 判断展厅名称是否可用
     *
     * @param showroomName
     */
    void whetherTheNameOfTheExhibitionHall(String showroomName);

    /**
     * 新增展厅
     *
     * @param dto
     */
    void insertShowroom(ShowroomInsertDTO dto);

    /**
     * 判断展厅名称是否可用(修改时)
     *
     * @param id
     * @param showroomName
     */
    void whetherTheNameOfTheExhibitionHallWhenUpdate(Integer id, String showroomName);

    /**
     * 修改展厅
     *
     * @param dto
     */
    void updateShowroom(ShowroomUpdateDTO dto);

    /**
     * 删除展厅
     *
     * @param id
     */
    void deleteShowroomById(Integer id);

    /**
     * 提交展厅为待审核
     *
     * @param id
     */
    void submitReview(Integer id);

    /**
     * 获取展厅分类信息
     *
     * @return
     */
    List<DistForFrontDTO> getTypeList();

    /**
     * 获取展厅列表_前台
     *
     * @param page
     * @param search
     * @return
     */
    Page<ShowroomListDTO> getShowroomListFront(Page<ShowroomListDTO> page, ShowroomSearchDTO search);

    /**
     * 获取展厅id,展厅审后的核状态值
     *
     * @return
     */
    void statusPass(ShowroomStatusPassDTO dto);
}
